﻿//2815. 数组中的最大数对和
//给你一个下标从 0 开始的整数数组 nums 。请你从 nums 中找出和 最大 的一对数，且这两个数数位上最大的数字相等。
//返回最大和，如果不存在满足题意的数字对，返回 - 1 。


class Solution {
public:
    int maxSum(vector<int>& nums)
    {
        int ans = -1;
        unordered_map<int, int> cnt;
        for (auto x : nums)
        {
            int tmp = x;
            int b = 0;
            while (tmp)
            {
                b = max(tmp % 10, b);
                tmp /= 10;
            }
            if (cnt[b])
                ans = max(ans, cnt[b] + x);
            cnt[b] = max(cnt[b], x);
        }
        return ans;
    }
};